Why is it desireable to have a configuration ROM and use the Slot Manager?
The main reasons are to have certain startup services performed for you, as well as to allow higher level software (such as applications) to be able to locate and use cards, without having to hardcode for each board's hardware architecture (location and meaning of magic registers, memory locations etc.), or know explicitly where which slot they are in. That way, applications don't have to be revised for each new version of a vendor's board, or even compatible boards made by competitors (which should increase the installed base for the application). This saves wear and tear on customers. Suppose a customer owns an application and a card, and happens to buy another board (from the same or even a different vendor) that is even slightly different, hardware wise (by this I mean the address or meaning of some register or memory location has changed). The customer has to mix and match applications to boards. This is not very
Macintosh-like, and the board manufacturer is sure to be savaged by the customers and the press.
In short, the combination of the Slot Manager and declaration ROM exists to identify your expansion card and allow the computer and higher level applications and drivers to communicate with it. It also provides a handy mechanism to store and retrieve handy information on the board.
The way this is done is through one or more sResources (slot resources).